#ifndef AT_NETWORK_DEVICE_EC200_h
#define AT_NETWORK_DEVICE_EC200_h

#include "AtNetworkDevice.h"

class AtNetworkDeviceEC200 : public AtNetworkDevice {
  public:
    AtNetworkDeviceEC200(Stream *stream, size_t bs = 256, size_t us = 32)
        : AtNetworkDevice(stream, bs, us) {
    }

    /**
     * 初始化GPRS服务(激活PDP上下文)
     * @param timeout_second 超时时长(秒)
     */
    virtual int8_t connect(uint32_t timeout_second = 30);

    /**
     * 获取设备固件版本(需要手动调用lock)
     */
    String getDeviceVersion(uint32_t timeout = 1000);

    /**
     * 获取设备型号(需要手动调用lock)
     */
    String getDeviceModel(uint32_t timeout = 1000);

    /**
     * 获取设备IMEI(需要手动调用lock)
     */
    String getDeviceIMEI(uint32_t timeout = 1000);

    /**
     * 获取设备ICCID(需要手动调用lock)
     */
    String getIccid(uint32_t timeout = 1000);

    /**
     * 获取设备RSSI(信号强度,需要手动调用lock)
     */
    int getRssi(uint32_t timeout = 1000);
};

#endif